# -*- coding: utf-8 -*- 
# @project : 《Atcoder》
# @Author : created by bensonrachel on 2021/8/27
# @File : TPM（step3）C. Che city（CF）.py
def TPM():
    l = 0
    res = 0
    for r in range(n):
        while (rate[r] - rate[l] > s):
            l += 1
        res += l
    return res

"""
本题中的数组是有序的！

代码非常简单，也是按照Step2的A题代码框架来修改。

不过注意问题的性质发生了改变：
本题是求数组中最大值和最小值的差值一定要大于r的区间个数
又因为数组是连续的，所以最大值取区间的最后一个和最小值取区间的第一个即可：rate[r] - rate[l]

而且正因为数组有序，所以枚举r,维护一个最小的l的时候，l前面的（不包括l）都是可以的区间左端点，所以需要累加l。

注意：是符合条件就进入while循环，l前进到不符合就退出来，说明此时的l的前面全部区间左端点都是符合条件的，可以累加，这样就不会算重复的区间个数。
"""
if __name__ == "__main__":
    n, s = map(int, input().split())
    rate = [int(i) for i in input().split()]
    print(TPM())